package example.demo01;

/**
 * 迭代器模式 Iterator
 *
 * 习题 1-1
 * 在示例程序的 BookShelf 类中，当书的数量超过最初指定的书架容量
 * 时，就无法继续向书架中添加书本了。请大家不使用数组，而是用 java.util.
 * ArrayList 修改程序，确保当书的数量超过最初指定的书架容量时也能继续向书架中
 * 添加书本。
 */
public class Main {
    public static void main(String[] args) {
        BookShelf bookShelf = new BookShelf(4);
        bookShelf.appendBook(new Book("Around the World in 80 Days (《环游世界80天》"));
        bookShelf.appendBook(new Book("Bible (《圣经》)"));
        bookShelf.appendBook(new Book("Cinderella (《灰姑娘》)"));
        bookShelf.appendBook(new Book("Daddy Long Legs (《长腿爸爸》)"));
        bookShelf.appendBook(new Book("你好，世界"));

        // 迭代遍历
        Iterator iterator = bookShelf.iterator();
        while (iterator.hasNext()){
            Book book = (Book) iterator.next();
            System.out.println("book.getName() = " + book.getName());
        }
    }
}
